chimeraos
chimeraos copied to clipboard
Using integrated graphics instead of dedicated graphics
I got GamerOS running everything works. I download and install counter strike GO and it just lags even on the lowest graphics settings.
I go out of the game and in settings I can see that GamerOS is using integrated Intel graphics instead of the dedicated Nvidia graphics.
I got a laptop with CPU: Intel i5 GPU: nvidia gforce GT 640M -1GB RAM: 6 HDD: 500GB
Hybrid graphics are not currently supported.
Can you switch the graphics from the bios?
Also, I am not sure that your GPU is supported by the current Nvidia drivers. The "GT 640M LE" is listed here: https://www.nvidia.com/en-us/drivers/unix/legacy-gpu/
I couldn't establish whether the GT 640M is supported by the current drivers or by the legacy drivers though. GamerOS only includes the current drivers.
I suspect you might actually have the GT 640M LE because it had 1GB of memory while the GT 640M had 2GB. At least according to http://gpuboss.com/gpus/GeForce-GT-640M-LE-vs-GeForce-GT-640M
In HWiNFO software it Tells me NVIDIA GeForce GT 640M (Acer) it's a acer aspire m3 581tg laptop. I sat a hirens boot cd PE USB in the PC to check this
EDIT: No I am not able to switch anything graphics relat from BIOS unfortunately
I am now trying ubuntu to see if it can be done from there. And I am following this guide https://www.linuxbabe.com/desktop-linux/switch-intel-nvidia-graphics-card-ubuntu/amp
It worked from ubuntu. So I'm guessing it can work on Gamer OS too. CS GO on low graphics it lags a little bit but its playable
After installing GamerOS, the main graphics driver used by my laptop (an HP 14-al007la : i7-6500U + NVIDIA GeForce 940MX 2GB) was the intel one. Although it worked pretty well out-of-the-box, it was not using my GPU at all.
So I was able to make nvidia driver the main one loaded after following these steps on a terminal:
~0. Trying simply reintalling nvidia drivers~
~sudo frzr-unlock
#allows for modification of base FS~
~sudo pacman -Sy nvidia
#first attemp, reinstalling the nvidia drivers (according to pacman they were installed previously)~
This didn't work by itself and locked me out of GUI with "lightdm failed to start" on reboot.
1. Fix LightDM to init driver
sudo vim /etc/lightdm/display_setup.sh
#create script to load the driver
------- CONTENT display_setup.sh -------
#!/bin/sh
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
------- /CONTENT display_setup.sh ------
sudo chmod +x /etc/lightdm/display_setup.sh
# make script executable
sudo vim /etc/lightdm/lightdm.conf
# add the script as "display-setup-script"
------- STUB lightdm.conf ------
...
[Seat:*]
display-setup-script=/etc/lightdm/display_setup.sh
session-wrapper=/etc/lightdm/Xsession
...
------- /STUB lightdm.conf ------
Again, this didn't worked by itself, so kept looking..
2. Revise xorg configuration to set nvidia as primary GPU
~sudo pacman -S xorg-xrandr
#not sure if required (as it's preinstalled), but I ran it following a guide~
sudo cp /usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf /etc/X11/xorg.conf.d/
sudo vim /etc/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf
------- CONTENT 10-nvidia-drm-outputclass.conf -------
Section "OutputClass"
Identifier "intel"
MatchDriver "i915"
Driver "modesetting"
EndSection
Section "OutputClass"
Identifier "nvidia"
MatchDriver "nvidia-drm"
Driver "nvidia"
Option "AllowEmptyInitialConfiguration"
Option "PrimaryGPU" "yes"
ModulePath "/usr/lib/nvidia/xorg"
ModulePath "/usr/lib/xorg/modules"
EndSection
------- /CONTENT 10-nvidia-drm-outputclass.conf -------
Again, this was not enough, so I found out I may have been missing an important part...
3. Load nvidia modules and enable the kernel parameter
sudo vim /etc/mkinitcpio.conf
#setting nvidia related modules
------- STUB lightdm.conf ------
...
MODULES=(dm_mod ext4 sha256 sha512 overlay
i915 nvidia nvidia_modeset nvidia_uvm nvidia_drm
)
...
------- /STUB lightdm.conf ------
sudo vim /etc/modprobe.d/nvidia-drm.conf
#create conf file to enable the kernel flag
------- CONTENT nvidia-drm.conf -------
options nvidia_drm modeset=1
------- /CONTENT nvidia-drm.conf -------
mv /etc/X11/xorg.conf /etc/X11/xorg.conf.OLDnBAD
# IMPORTANT: make sure the xorg previous config doesn't interfere at boot
reboot
# fingers crossed
After the reboot, the GUI loaded! But there's one last thing that must be taken care of...
4. Recreate a valid xorg.conf
DISPLAY=:0 sudo nvidia-xconfig
#create base xorg config
sudo vim /etc/X11/xorg.conf
# add Module modesetting at header
------- STUB xorg.conf ------
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 455.38
Section "Module"
Load "modesetting"
EndSection
Section "ServerLayout"
... ------- /STUB xorg.conf ------
reboot
#one last time to ensure
~(Until here, the process is permanent and your PC should always boot with the nvidia driver as default, but the next step should be repeated after every update -for the time being at least)~ [step 5 is now permanent]
5. Disable unusable drivers for Proton 5.13+ and Pressure Vessels to work
The is a reported bug with "flatpak based" apps (that Steam makes use of in the lastests release of Proton), in which them will try and override nvidia with mesa if a driver is located in hybrid setups (like the one discussed here). The solution is simple ~(although may need to be repeated after every update)~ and permanent:
~sudo frzr-unlock
#allows for modification of base FS~
~sudo mv /usr/share/vulkan/icd.d/intel_icd.x86_64.json /usr/share/vulkan/icd.d/intel_icd.x86_64.json.disabled
~
~sudo mv /usr/share/vulkan/icd.d/intel_icd.i686.json /usr/share/vulkan/icd.d/intel_icd.i686.json.disabled
~
Edit /home/gamer/.profile
and add this line:
export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/nvidia_icd.json"
One final reboot and we're done!
It was a long way but lo and behold, I have my hybrid-laptop booting GamerOS with the nvidia drivers!
~IMPORTANT: Be aware though, I have not being able to use versions of Proton beyond 5.0 (tested Proton-5.13, Proton-Experimental and even Proton-GE-5.21), not sure if by simple compatibility with my GPU or reason of them using Pressure-vessel that I think are dependent on flatpak versions of the nvidia driver, but funnily enough these did work before using the intel iGPU. Let me know if you find is the latter.~ It was the latter, found a solution here. Added as Step 5. Now permanently by using global variableVK_ICD_FILENAMES
.
Hello
Maybe it could go to another issue but it's also a bit related to computer that have multiple GPU. In my case I have an intel GPU and a NVIDIA. In my actual setup I run my games but running a session with nvidia-xrun (https://github.com/Witko/nvidia-xrun/). It basicily launch the session manager using my NVIDIA card.
I didn't tried to install GamerOS yet but it's possible to for example launching nvidia-xrun before that the session is launching. Normally for something like openbox (or other application) it would be ǹvidia-xrun <application>
. From what I read it's possible to apply modification like a "normal" Linux to GamerOS but if there is a proper way to do it, it's maybe better.
Cheers.
I revised my guide above. Now the solution is permanent and persists through updates by only modifying files under /etc/
and /home/
directories.
(If someone has checked nvidia-xrun
successfully, let us know if it's an easier workaround).
If anyone has a guide on how to get AMD Radeon discreet graphics running, that's be very helpful. The PC I was using for this died recently, so I'm trying to get a laptop running that should be decent, but the OS keeps defaulting to the Intel graphics (BIOS settings don't make a difference).
If anyone has a guide on how to get AMD Radeon discreet graphics running, that's be very helpful. The PC I was using for this died recently, so I'm trying to get a laptop running that should be decent, but the OS keeps defaulting to the Intel graphics (BIOS settings don't make a difference).
Try setting DRI_PRIME=1
environment variable globally. This can be done by creating/editing ~/.config/steamos-compositor-plus
and adding this line:
export DRI_PRIME=1
Thank you for the suggestion and sorry for the late reply. It didn't work for me, and I haven't had the time to tinker with it more.
Thanks again.
On Sun, Oct 3, 2021 at 7:56 PM Joaquín Ignacio Aramendía < @.***> wrote:
If anyone has a guide on how to get AMD Radeon discreet graphics running, that's be very helpful. The PC I was using for this died recently, so I'm trying to get a laptop running that should be decent, but the OS keeps defaulting to the Intel graphics (BIOS settings don't make a difference).
Try setting DRI_PRIME=1 environment variable globally. This can be done by creating/editing ~/.config/steamos-compositor-plus and adding this line:
export DRI_PRIME=1
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ChimeraOS/chimeraos/issues/97#issuecomment-933015526, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUAKBNQ42IMOW4KHCRGKN2TUFCYQLANCNFSM4MMVNTCQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
@qchto Thanks so much for your post
Currently we can't support hybrid graphics setups as they are hardware dependent. The most we can do is to document the means it can be acchieved but ultimately this would be a won't fix.