1. Start your favourite Solus Live Distribution, I tested it on Budgie and Plasma

  2. When finished booting you see the black screen or maybe some kernel messages Press CTRL + Alt + F2 to switch to tty2

  3. Login with root/root

  4. Get the Bus ID of your gpu using lspci. You should see something like this:
    06:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Renoir (rev d1)

You will need that information for the file you create in the next step. In the case above the BusID will be PCI:6:0:0

  1. Create the directory /etc/X11/xorg.conf.d:
    mkdir /etc/X11/xorg.conf.d

  2. Create a file in /etc/X11/xorg.conf.d called fbdev.conf (I use the nano editor) with the following content, change BusID to the values you got from step 5:

Section "Device"
    Identifier "card"
    Driver "fbdev"
    BusID "PCI:6:0:0"
EndSection
  1. Edit /etc/X11/xinit/xinitrc
    At the end of the file replace those 5 lines:
    twm &
    xclock -geometry 50x50-1+1 &
    xterm -geometry 80x50+494+51 &
    xterm -geometry 80x20+494-0 &
    exec xterm -geometry 80x66+0+0 -name login

with the following in case of budgie
budgie_desktop

in case of plasma
plasma_session

  1. Run the command startx

  2. You should see the gui, but you won't see the Install OS desktop icon, because you are logged in as root. In case of plasma you could run startx as live user, in case of budgie that didn't work for me. But anyway, just press Alt + F2 and search for install and the Install OS should pop up.

  3. Install Solus

11a: After the installation it won't boot to the gui you will have the same problem. But you can go again to tty2 (CTRL + ALT + F2) and then to the upgrade: sudo eopkg up -y. After the upgrade the system should boot to the gui without any problems.

11b: In case you don't have a wired internet connection and need to set up WiFi first to make the upgrade, you can do the same steps as in the live environment. Then you can set up the wifi in the desktop environment. But please remember to remove the fbdev.conf file after you made the update.

I hope I didn't make a mistake in my guide. Please let me know if it works for you or if you have problems.

kaktuspalme changed the title to Start GUI on Solus Live 4.1 when GPU is not supported (tested on Ryzen Renoir) .

Nice write up..Thank you for the efforts and sharing this ! 😀

12 days later

finally had a chance to try this on my Ryzen Renoir. worked like a charm. Thanks!

    9 days later

    @kaktuspalme

    The guide you created made it possible for me to successfully install Solus 4.1 Budgie on my Alienware Aurora R11 with a NVIDIA RTX 2080 SUPER. However, "startx" didn't work for me, but "systemctl restart lightdm" worked!

    Many thanks to you!!

      f-castiglione In my case lightdm and also sddm didn't work for me, that's way I changed the xinitrc to run the desktop. Therefore maybe it's different when using an Nvidia card. Thanks for your information.

        kaktuspalme I see. Just for kicks and future reference, I tried skipping the xinitrc edit. Restarting lightdm brought me to the GUI for my particular machine. 👍

        I've had some problems installing Solus on my Legion Y530. Everything else I've tried hasn't worked gonna give this a try and see what happens.

        21 days later

        Thank you oh so very much for this!

        I followed steps 1-6, skipped 7 and ran systemctl restart gdm.service instead. It worked beautifully.

        I did run into a few problems afterwards and was wondering if you guys could help out:

        Apparently my laptop has a muxless GPU and even after updating and installing proprietary drivers I couldn't get an image without the xorg.conf file suggested in step 6. I had almost the same issue with Manjaro, but the problem there was that if I had Open Source Drivers I could use my laptop screen and if I had proprietary drivers I could my second screen with the HDMI port. I installed a hybrid AMD-Nvidia driver in Manjaro, but still had no image in both screens. I found this: https://wiki.archlinux.org/index.php/PRIME#Reverse_PRIME and after reading this I understood about the muxless issue I was having. I got to this: https://us.download.nvidia.com/XFree86/Linux-x86_64/450.57/README/randr14.html and successfully implemented an xorg.conf to run everything from my Nvidia card.

        Now the problem I have is that apparently I have to run: (EDIT: I fixed it, it's on the next reply. I think I did it wrong, but it works. Any input on the matter would be greatly appreciated)

        $ xrandr --setprovideroutputsource modesetting NVIDIA-0
        $ xrandr --auto

        in order to get picture both on my HDMI port AND my onboard laptop screen. If I don't run this then my HDMI port works, but my laptop screen doesn't. After login I can simply run the commands and that's all great, but if I'm not carrying an secondary monitor I basically have to log-in blind.

        The Nvidia manual suggests adding the the lines to ~/.xinitrc but I just couldn't do it? I don't know what I failed at. Then I thought about making a service to be called BEFORE login screen, but I also failed at that (I was following these instructions: https://www.golinuxcloud.com/run-script-systemd-before-login-prompt-linux/ but changed the unit file to:

        [Unit]
        Description=Run script with systemd right before login prompt
        After=gdm.service
        Before=getty@tty1.service
        
        [Service]
        Type=oneshot
        RemainAfterExit=yes
        ExecStart=/home/kurt/bin/scripts/screenFix.sh start
        
        [Install]
        WantedBy=multi-user.target

        The script itself looks like this:

        #!/bin/bash
        # Run this small script before login screen in order to get image on laptop
        # screen. Otherwise, just HDMI works
        
        xrandr --setprovideroutputsource modesetting NVIDIA-0
        xrandr --auto

        Any help would be greatly appreciated!


        EDIT:

        Modified my Unit File to:

        [Unit]
        Description=Run script with systemd right before login prompt
        After=gdm.service
        Before=getty@tty1.service
        
        [Service]
        ExecStart=/home/kurt/bin/scripts/screenFix.sh
        
        [Install]
        WantedBy=multi-user.target

        because I realized I don't have a start command inside my script... still not working 🙁


        EDIT2:

        Unit file now looks like this:

        [Unit]
        Description=Run script with systemd right before login prompt
        After=gdm.service
        
        
        [Service]
        Type=oneshot
        ExecStart=/bin/sleep 10
        ExecStart=/usr/bin/xrandr --setprovideroutputsource modesetting NVIDIA-0
        ExecStart=/usr/bin/xrandr --auto
        
        [Install]
        WantedBy=multi-user.target

        I tried starting the service using systemctl start fix-screen.service and it returns an error. Status returns the following:

        kurt@kurt-lin ~ $ systemctl status fix-screen.service 
        ● fix-screen.service - Run script with systemd right before login prompt
             Loaded: loaded (/etc/systemd/system/fix-screen.service; enabled; vendor preset: enabled)
             Active: failed (Result: exit-code) since Thu 2020-09-17 16:43:24 CST; 13s ago
            Process: 5435 ExecStart=/bin/sleep 10 (code=exited, status=0/SUCCESS)
            Process: 5440 ExecStart=/usr/bin/xrandr --setprovideroutputsource modesetting NVIDIA-0 (code=exited, status=1/FAILURE)
           Main PID: 5440 (code=exited, status=1/FAILURE)

        Sorry for spamming... I'm justa bit desperate here...

        So I managed to fix it. Instead of running a service to run the xrandr commands I made a .desktop file and added it to

        /usr/share/gdm/greeter/autostart/

        Worked like a charm. Got the idea from this site: https://askubuntu.com/questions/1055061/ubuntu-18-04-autostart-script-with-gdm

        Here's the .desktop file in case anybody finds it useful:

        [Desktop Entry]
        Type=Application
        Version=1.0
        Name=fixScreen
        Comment=run xrandr to fix muxless graphics driver issues
        Exec=/home/kurt/bin/scripts/screenFix.sh
        StartupNotify=false
        Terminal=true

        Here's the script again:

        #!/bin/bash
        # Run this small script before login screen in order to get image on laptop
        # screen. Otherwise, just HDMI works
        
        xrandr --setprovideroutputsource modesetting NVIDIA-0
        xrandr --auto