Return to Level1Techs.com

Help a FNG to Linux

Hello world,

I’m kinda sick of having trouble with Windows, but that just a side note. I still need it. I wanted to setup a system like Mutahar Anas from someordinarygamers. He had Arch Linux and sideish loaded Windows. I don’t have a second graphics card and neither don’t want to bother to have split HW. I want something good as VM but not with the drawbacks of bad HW utilization because I need to use SteamVR, proton, no just no, maybe for other games.

I’ve played around with the Debians but I find Manjaro pretty robust, but I have no idea on the commands like sudo apt-get update.

Still I would want to go forward with having Manjaro as boot option and then have a robust HW level ReviOS on it.

I have not really found any good video on explaining the basics on where to start, so I’m here once again asking for the community grace.

My setup:
DDR4 3600MT 32GB
5600X
5700XT

Alvast bedankt

Edit: might be best just to recommend what to do and a bit explain how it works and then tell me what to do.

2 Likes

Install Gentoo

5 Likes

First, I hate you.

Second my reaction was to throw my phone.

6 Likes

So then use windows and dual boot. What you are asking for does not exist.

I’m planning to migrate to a VM this weekend. I’ve got a 6900xt and 5700g. I’ll do the writeup when I’m finished and @ you for reference. Will be using arch.

7 Likes

I’ll break it down for you.

sudo apt-get update

sudo is a program (most of what you’ll care or interact with live under /usr/bin). In layman terms what this program does is prompt you for your password so you can perform whatever else after it as an administrator.

apt-get is the default package manager for Debian class distributions. Think App Store.

update is a command line parameter for the apt-get package manager. As the name implies this performs an update of all your systems packages.

So what the above command essentially does is to: as an admin, update the local package cache to any newer package provided by the configured repositories.

The next command typically done after that is to run sudo apt-get upgrade to perform the actual upgrade of the packages that it downloaded earlier.

Note: on Debian this is a two step process. Most other distros just have the one update function which performs both the update and upgrade of packages.

Filesystem Hierarchy
HIER(7)                                 Linux Programmer's Manual                                HIER(7)

NAME
       hier - description of the filesystem hierarchy

DESCRIPTION
       A typical Linux system has, among others, the following directories:

       /      This is the root directory.  This is where the whole tree starts.

       /bin   This  directory  contains  executable programs which are needed in single user mode and to
              bring the system up or repair it.

       /boot  Contains static files for the boot loader.  This directory holds only the files which  are
              needed  during  the  boot process.  The map installer and configuration files should go to
              /sbin and /etc.  The operating system kernel (initrd  for  example)  must  be  located  in
              either / or /boot.

       /dev   Special or device files, which refer to physical devices.  See mknod(1).

       /etc   Contains  configuration  files which are local to the machine.  Some larger software pack‐
              ages, like X11, can have their own subdirectories  below  /etc.   Site-wide  configuration
              files  may  be  placed here or in /usr/etc.  Nevertheless, programs should always look for
              these files in /etc and you may have links for these files to /usr/etc.

       /etc/opt
              Host-specific configuration files for add-on applications installed in /opt.

       /etc/sgml
              This directory contains the configuration files for SGML (optional).

       /etc/skel
              When a new user account is created, files from this directory are usually copied into  the
              user's home directory.

       /etc/X11
              Configuration files for the X11 window system (optional).

       /etc/xml
              This directory contains the configuration files for XML (optional).

       /home  On  machines  with  home  directories for users, these are usually beneath this directory,
              directly or not.  The structure of this directory depends on  local  administration  deci‐
              sions (optional).

       /lib   This  directory  should  hold those shared libraries that are necessary to boot the system
              and to run the commands in the root filesystem.

       /lib<qual>
              These directories are variants of /lib on system which support more than one binary format
              requiring separate libraries (optional).

       /lib/modules
              Loadable kernel modules (optional).

       /lost+found
              This  directory  contains items lost in the filesystem.  These items are usually chunks of
              files mangled as a consequence of a faulty disk or a system crash.

       /media This directory contains mount points for removable media such as CD and DVD disks  or  USB
              sticks.   On  systems  where  more  than  one device exists for mounting a certain type of
              media, mount directories can be created by appending a digit to the name of  those  avail‐
              able above starting with '0', but the unqualified name must also exist.

       /media/floppy[1-9]
              Floppy drive (optional).

       /media/cdrom[1-9]
              CD-ROM drive (optional).

       /media/cdrecorder[1-9]
              CD writer (optional).

       /media/zip[1-9]
              Zip drive (optional).

       /media/usb[1-9]
              USB drive (optional).

       /mnt   This  directory  is a mount point for a temporarily mounted filesystem.  In some distribu‐
              tions, /mnt contains subdirectories intended to be used as mount points for several tempo‐
              rary filesystems.

       /opt   This directory should contain add-on packages that contain static files.

       /proc  This  is  a  mount point for the proc filesystem, which provides information about running
              processes and the kernel.  This pseudo-filesystem is described in more detail in proc(5).

       /root  This directory is usually the home directory for the root user (optional).

       /sbin  Like /bin, this directory holds commands needed to boot the system, but which are  usually
              not executed by normal users.

       /srv   This directory contains site-specific data that is served by this system.

       /sys   This  is a mount point for the sysfs filesystem, which provides information about the ker‐
              nel like /proc, but better structured, following the formalism of kobject infrastructure.

       /tmp   This directory contains temporary files which may be deleted with no notice, such as by  a
              regular job or at system boot up.

       /usr   This  directory  is usually mounted from a separate partition.  It should hold only share‐
              able, read-only data, so that it can be mounted by various machines running Linux.

       /usr/X11R6
              The X-Window system, version 11 release 6 (optional).

       /usr/X11R6/bin
              Binaries which belong to the X-Window system; often, there is a  symbolic  link  from  the
              more traditional /usr/bin/X11 to here.

       /usr/X11R6/lib
              Data files associated with the X-Window system.

       /usr/X11R6/lib/X11
              These  contain  miscellaneous files needed to run X;  Often, there is a symbolic link from
              /usr/lib/X11 to this directory.

       /usr/X11R6/include/X11
              Contains include files needed for compiling programs using the X11 window system.   Often,
              there is a symbolic link from /usr/include/X11 to this directory.

       /usr/bin
              This  is  the primary directory for executable programs.  Most programs executed by normal
              users which are not needed for booting or for repairing  the  system  and  which  are  not
              installed locally should be placed in this directory.

       /usr/bin/mh
              Commands for the MH mail handling system (optional).

       /usr/bin/X11
              is  the  traditional place to look for X11 executables; on Linux, it usually is a symbolic
              link to /usr/X11R6/bin.

       /usr/dict
              Replaced by /usr/share/dict.

       /usr/doc
              Replaced by /usr/share/doc.

       /usr/etc
              Site-wide configuration files to be shared between several machines may be stored in  this
              directory.   However,  commands  should always reference those files using the /etc direc‐
              tory.  Links from files in /etc should point to the appropriate files in /usr/etc.

       /usr/games
              Binaries for games and educational programs (optional).

       /usr/include
              Include files for the C compiler.

       /usr/include/bsd
              BSD compatibility include files (optional).

       /usr/include/X11
              Include files for the C compiler and the X-Window system.  This is usually a symbolic link
              to /usr/X11R6/include/X11.

       /usr/include/asm
              Include  files which declare some assembler functions.  This used to be a symbolic link to
              /usr/src/linux/include/asm.

       /usr/include/linux
              This contains information which may change from system release to system release and  used
              to  be a symbolic link to /usr/src/linux/include/linux to get at operating-system-specific
              information.

              (Note that one should have include files there that work correctly with the  current  libc
              and in user space.  However, Linux kernel source is not designed to be used with user pro‐
              grams and does not know anything about the libc you are using.  It  is  very  likely  that
              things  will  break  if  you let /usr/include/asm and /usr/include/linux point at a random
              kernel tree.  Debian systems don't do this and use headers from a known good  kernel  ver‐
              sion, provided in the libc*-dev package.)

       /usr/include/g++
              Include files to use with the GNU C++ compiler.

       /usr/lib
              Object libraries, including dynamic libraries, plus some executables which usually are not
              invoked directly.  More complicated programs may have whole subdirectories there.

       /usr/lib<qual>
              These directories are variants of /usr/lib on system which support more  than  one  binary
              format  requiring  separate libraries, except that the symbolic link /usr/lib<qual>/X11 is
              not required (optional).

       /usr/lib/X11
              The usual place for data files associated with X programs, and configuration files for the
              X system itself.  On Linux, it usually is a symbolic link to /usr/X11R6/lib/X11.

       /usr/lib/gcc-lib
              contains executables and include files for the GNU C compiler, gcc(1).

       /usr/lib/groff
              Files for the GNU groff document formatting system.

       /usr/lib/uucp
              Files for uucp(1).

       /usr/local
              This is where programs which are local to the site typically go.

       /usr/local/bin
              Binaries for programs local to the site.

       /usr/local/doc
              Local documentation.

       /usr/local/etc
              Configuration files associated with locally installed programs.

       /usr/local/games
              Binaries for locally installed games.

       /usr/local/lib
              Files associated with locally installed programs.

       /usr/local/lib<qual>
              These  directories  are  variants  of /usr/local/lib on system which support more than one
              binary format requiring separate libraries (optional).

       /usr/local/include
              Header files for the local C compiler.

       /usr/local/info
              Info pages associated with locally installed programs.

       /usr/local/man
              Man pages associated with locally installed programs.

       /usr/local/sbin
              Locally installed programs for system administration.

       /usr/local/share
              Local application data that can be shared among different architectures of the same OS.

       /usr/local/src
              Source code for locally installed software.

       /usr/man
              Replaced by /usr/share/man.

       /usr/sbin
              This directory contains program binaries for system administration which are not essential
              for the boot process, for mounting /usr, or for system repair.

       /usr/share
              This  directory contains subdirectories with specific application data, that can be shared
              among different architectures of the same OS.  Often one finds stuff  here  that  used  to
              live in /usr/doc or /usr/lib or /usr/man.

       /usr/share/dict
              Contains the word lists used by spell checkers (optional).

       /usr/share/dict/words
              List of English words (optional).

       /usr/share/doc
              Documentation about installed programs (optional).

       /usr/share/games
              Static data files for games in /usr/games (optional).

       /usr/share/info
              Info pages go here (optional).

       /usr/share/locale
              Locale information goes here (optional).

       /usr/share/man
              Manual pages go here in subdirectories according to the man page sections.

       /usr/share/man/<locale>/man[1-9]
              These  directories contain manual pages for the specific locale in source code form.  Sys‐
              tems which use a unique language and code set for all manual pages may omit  the  <locale>
              substring.

       /usr/share/misc
              Miscellaneous data that can be shared among different architectures of the same OS.

       /usr/share/nls
              The message catalogs for native language support go here (optional).

       /usr/share/sgml
              Files for SGML (optional).

       /usr/share/sgml/docbook
              DocBook DTD (optional).

       /usr/share/sgml/tei
              TEI DTD (optional).

       /usr/share/sgml/html
              HTML DTD (optional).

       /usr/share/sgml/mathtml
              MathML DTD (optional).

       /usr/share/terminfo
              The database for terminfo (optional).

       /usr/share/tmac
              Troff macros that are not distributed with groff (optional).

       /usr/share/xml
              Files for XML (optional).

       /usr/share/xml/docbook
              DocBook DTD (optional).

       /usr/share/xml/xhtml
              XHTML DTD (optional).

       /usr/share/xml/mathml
              MathML DTD (optional).

       /usr/share/zoneinfo
              Files for timezone information (optional).

       /usr/src
              Source  files for different parts of the system, included with some packages for reference
              purposes.  Don't work here with your own projects, as files below /usr should be read-only
              except when installing software (optional).

       /usr/src/linux
              This  was  the  traditional  place for the kernel source.  Some distributions put here the
              source for the default kernel they ship.  You should probably use another  directory  when
              building your own kernel.

       /usr/tmp
              Obsolete.  This should be a link to /var/tmp.  This link is present only for compatibility
              reasons and shouldn't be used.

       /var   This directory contains files which may change in size, such as spool and log files.

       /var/account
              Process accounting logs (optional).

       /var/adm
              This directory is superseded by /var/log and should be a symbolic link to /var/log.

       /var/backups
              Reserved for historical reasons.

       /var/cache
              Data cached for programs.

       /var/cache/fonts
              Locally-generated fonts (optional).

       /var/cache/man
              Locally-formatted man pages (optional).

       /var/cache/www
              WWW proxy or cache data (optional).

       /var/cache/<package>
              Package specific cache data (optional).

       /var/catman/cat[1-9] or /var/cache/man/cat[1-9]
              These directories contain preformatted manual pages according to their man  page  section.
              (The use of preformatted manual pages is deprecated.)

       /var/crash
              System crash dumps (optional).

       /var/cron
              Reserved for historical reasons.

       /var/games
              Variable game data (optional).

       /var/lib
              Variable state information for programs.

       /var/lib/hwclock
              State directory for hwclock (optional).

       /var/lib/misc
              Miscellaneous state data.

       /var/lib/xdm
              X display manager variable data (optional).

       /var/lib/<editor>
              Editor backup files and state (optional).

       /var/lib/<name>
              These directories must be used for all distribution packaging support.

       /var/lib/<package>
              State data for packages and subsystems (optional).

       /var/lib/<pkgtool>
              Packaging support files (optional).

       /var/local
              Variable data for /usr/local.

       /var/lock
              Lock  files  are placed in this directory.  The naming convention for device lock files is
              LCK..<device> where <device> is the device's name in the filesystem.  The format  used  is
              that  of HDU UUCP lock files, that is, lock files contain a PID as a 10-byte ASCII decimal
              number, followed by a newline character.

       /var/log
              Miscellaneous log files.

       /var/opt
              Variable data for /opt.

       /var/mail
              Users' mailboxes.  Replaces /var/spool/mail.

       /var/msgs
              Reserved for historical reasons.

       /var/preserve
              Reserved for historical reasons.

       /var/run
              Run-time variable files, like files holding process identifiers  (PIDs)  and  logged  user
              information (utmp).  Files in this directory are usually cleared when the system boots.

       /var/spool
              Spooled (or queued) files for various programs.

       /var/spool/at
              Spooled jobs for at(1).

       /var/spool/cron
              Spooled jobs for cron(8).

       /var/spool/lpd
              Spooled files for printing (optional).

       /var/spool/lpd/printer
              Spools for a specific printer (optional).

       /var/spool/mail
              Replaced by /var/mail.

       /var/spool/mqueue
              Queued outgoing mail (optional).

       /var/spool/news
              Spool directory for news (optional).

       /var/spool/rwho
              Spooled files for rwhod(8) (optional).

       /var/spool/smail
              Spooled files for the smail(1) mail delivery program.

       /var/spool/uucp
              Spooled files for uucp(1) (optional).

       /var/tmp
              Like /tmp, this directory holds temporary files stored for an unspecified duration.

       /var/yp
              Database files for NIS, formerly known as the Sun Yellow Pages (YP).
2 Likes

I typically do this when building / rebuilding my machine(s):

  • Install Windows 10 (or just already have it installed)
  • Install Arch Linux (or Manjaro or something else)

If you install Windows first (or already have it installed) you can use the boot partition that Windows creates when its installed for Linux as well when you dual-boot.

Nice specs btw, a very poggers computer.

Hi Rouge-agent,

Check out Kubuntu, it’s pretty good and the interface is very similar to the Windows one, so not as hard to switch over.

As for gaming, you can do some limited (DirectX 11) gaming through VMware Workstation Pro, although you’ll be paying about $250 for that privilege. It is emulated though, so nowhere near as fast as native.

Your other options are Dual Booting, probably the simplest solution and the one I used to use before I got VFIO working on this rig.

You could also do VFIO of course. It can be done on a single card, but if you don’t have some decent experience with Linux first, that isn’t going to happen.

I would recommend looking at a dual boot solution. Gives you the option of working in Linux and then reboot and game in Windows. Costs nothing too, which is always nice.

Hi,

The dual boot is that I need to shutdown one to start the other.

I want to monitor kinda my traffic.

You got me wrong there. I meant I know that but not the equivalent for the Arch distributions.

The thing is with having dualboot, I’ll then just have my PC running windows because my up time is usually about 24hours

Arch uses pacman. So the equivalent for Arch based distros to sudo apt-get update would be sudo pacman -Syu

3 Likes

I think your best option is to just find a dirt cheap graphics card for use with the host operating system (being linux) and then run a VM with Windows on it and then setup looking glass. Could be worth a try.

Though I haven’t messed around with looking glass myself so if someone else who knows a bit more about could help you.

Though honestly, I just play games with proton now adays. The only reason i still have windows installed is for the few games that doesnt work

2 Likes

Others have explained that what you want doesn’t actually exist.

You have 3 options to start with:

  • Dual-boot operating systems (Use W10 for games, run Linux when you’re not gaming
  • Linux with hardware-passthrough VM (Win10) for gaming, such as Looking Glass.
  • Run some Linux and use Proton. Proton is actually really good and requires zero effort across a huge percentage of the Steam library.

You make these statements:

  • don’t want to split hardware
  • want something as good as VM but not with bad HW virtualization
  • don’t have a second GPU
  • don’t like Proton

Now this might be my bias talking but I say toss out point #4. If we do that, it means that your best option - statements 1-3 fit it! - is to take the third option above - i.e., run Linux and use proton.

This is going to take some time. You’re going to have to do a lot of learning on the command line (I use many piece of GUI software myself when I’m running Arch - as I am again now - but having the fallback is important).

L1T is, in my opinion, the best community online for learning and running Linux. You’ve just gotta spend the time to learn the command line, the tools and options you’ve got, and invest yourself into it – i.e, don’t give up.

Here’s my suggestion:

  • Run Arch Linux, not Manjaro. Manjaro is really just Arch but done for you, and that can lead to some significant problems.
  • Run the Zen kernel, specifically.
  • Learn the command line for lots of general tasks, including system maintenance, x config, etc. (at the risk of starting a flame war, forget all other cli text editors and just use nano).
  • Become familiar with not just proton, but also with the protondb, with Lutris, with WINE, and with Wine’s various extensions (like winebottles and winetricks).

For specific steps?

3 Likes

In regards to pacman terminal commands i could highly recommend to checkout the Arch wiki.
You can pretty much find everything you need in regards to Arch over there.
Another good source would be the Manjaro community forums.

In regards to what you want, dual boot is pretty much the easiest option in this case.
There are also virtualisation options as well.
But then you firstly need to get more familiar with Linux in general.

Geen dank. :wink:

1 Like

That comes a tid later when we have a solution at hand. I mean I could run Windows server and then both in VMs, just makes shit more complicated.

Learning by doing, is kind of what I prefer. So that comes later.

I really hoped there would be some option that would work nicely. Doesn’t KVM work fine? I really just need to have VR working and the Windows directory system for games, as I mod and change files alot. (more or less despise the Linux directory system) Proton ofcourse will work fine for quite a lot of games but doesn’t mean for everything that I run now and also is not really an option, #wallpaperengine. #msoffice, also I think it is possible via KVM to tell windows that is running on bare metal.

I don’t know, I don’t use Linux other than Pfsense, which is entirely something else and sometimes RPI with Debian and back few years ago Linux Mint. So you tell me what options are there.

Not sure what you mean by “directory system” - I have a file browser on Arch here now… same general ideas… folders and files, all the same preconcepted ideas. As far as directories go, I usually only use rm/rmdir/cp and so forth if I’m working with Docker - otherwise I’ll use Nemo or whatever GUI file manager I have, just like I’d use Windows’ file explorer if I was on Windows. So if I’m modding a game, as you mention, I’d be doing basically the Windows thing - download mod, drag it to the games folder, overwrite, launch game, all with GUI programs, not with CLI.

Learning by doing means go arch, definitely: because Manjaro does too much for you to learn as much by doing as you can.

Why would you use MS Office over LibreOffice even on Windows? MS Office is just inferior.

Variety will do some of the things that Wallpaperengine does, and there are some other projects that claim to do the rest (I haven’t tested any of them since I only recently began to use Wallpaper engine, so my interest postdates my Linux install before this one).

I’d recommend absolutely not using KVM - as far as I’m concerned, if you need virtualization for server stuff, it’s Docker, and if you need games, it’s LG. But other people have had luck with KVM.

Manjaro was recommended by an Arch user.

Because I have a working license, and it helps with workflows if I use it for work too.

I already have wallpaper engine.

Was recommended by an Arch user for VMs on Linux

No idea where u get the idea for server virtualisation but sure I’ll keep your docker recommendation in mind. Even I kinda don’t like how it costs now and is quite annoying at times.

And another Arch user (me) is suggesting to never use Manjaro (or anything else: Linux is just Arch and Gentoo; everything else is, I insist, problematic at best)

MS Office is just the worst office suite; take it from a professional (I’m a writer).

I also have wallpaper engine, but it’s not like the alternatives cost money.

Docker doesn’t cost money. This? Irrelevant. You don’t need an account to download, use, download and run images, and use docker or docker-git or docker-compose.

Just don’t use KVM for anything. If you must have non-LG virt for games, 100% go Xen. It’s obsolete and terrible and still a better choice than KVM.

It is really good, but I thought that you did not want to run a VM?

What is your issue with it?

I have still found new files that only have the formatting render correctly in MS Office, and break in LibreOffice.

Not an issue for anything I am doing for myself or with family, but could be for anything other people may send me.

I’m kind of confused by this.

First up, what is wrong with KVM? It is what is built into the Linux kernel for virtualization. It is what pretty much everyone uses for GPU passthrough, and for Looking Glass.

Second, Docker is containerization, not virtualization. It still uses the host kernel instead of booting up a full new kernel. You cannot run a Windows container on a Linux kernel, or vice versa. (The way Docker on Windows can run Linux containers is that is spins up a full Linux kernel inside a Hyper-V VM). Not to say that Docker is useless, just that it is not for running a full virtual OS.

Third, having a KVM virtual machine with GPU passthrough already set up is a prerequisite to run Looking Glass.

Huh, why?

yea i’ll second that one.

My main client only uses MS Office, I’ve just ended up using Office365 online stuff lol

1 Like

I believe suggesting Arch or even Gentoo to a Linux newcomer is a good way to push them back to Windows. I see no reason why not to recommend an easy to use distribution to smoothen transition like Manjaro. Does it break? Sometimes, but not in a catastrophic way. Learning to fix minor problems is a good way to functionally learn Linux.

5 Likes

Maybe I wasn’t expressing myself coherently - it was very late for me. You can have it instead.

2 Likes