My experience with video drivers and how work optimus manager

Month ago I bought new laptop.

I had some issues with install manjaro

# inxi -G
Graphics:  Device-1: Intel driver: i915 v: kernel 
Device-2: NVIDIA driver: N/A 
Display: server: X.Org 1.20.6 driver: modesetting resolution: 1920x1080~60Hz 
OpenGL: renderer: Mesa DRI Intel UHD Graphics (Comet Lake 3x8 GT2) v: 4.6 Mesa 19.3.1

So I decided switch to Nvidia Prime (just used only nvidia card)

Today I have some time for go deeper.

I returned bumblebee + nvidia + intel.
Screen still flickering.

Then I changed DRI from "true" to "2".
It is fallback option. Flickering became lower.

Next I google some options, which can help. Nothing from arch-wiki didn't help.

But then I searched on this forum and switch driver from Intel to modeset.

And everything began work!

Then I noticed that bumblebee became broke.
This is was bad news. I began looking some solution.
And as I understand, bumblebee not work with modeset driver.
Modeset doesn't support something.
Switching to Intel driver fixed it, but glitches returned.

Then I try search new solution.
I find optimus-manager
Guide: Install and configure optimus-manager for hybrid GPU setups (Intel/NVIDIA)

It is cool solution, but it need logout to switch videocard.
Hybrid mode working, but Nvidia card still consume power.

And there are my questions:

  1. Do Modeset driver really not work with bumblebee?
  2. Maybe do switch manjaro ISO to modeset driver out of the box?
    To Intel modesetting driver be the default driver for intel GPU Gen4 and newer (GMA 3000 from 2006 and newer)
  3. How to run something on nvidia with optimus-manager ?
  4. How install bbswitch only for using from console?
    I want run it from console without installing it from mhwd. Mhwd installing old nvidia-430 drivers
  5. Some one have any more advice?

This are all the known options

Not all of them work for all laptop models with dual GPU. Sometimes you have to test. Depending of the laptop model you have, you might need custom kernel boot parameters as described here:

and sometimes even more than that.
If you share inxi -Fxxxza --no-host we might be able to look up if someone else got linux on a laptop like yours ... :slight_smile:

# inxi -Fxxxza --no-host
System:    Kernel: 5.5.0-1-MANJARO x86_64 bits: 64 compiler: gcc v: 9.2.0 
           parameters: BOOT_IMAGE=/boot/vmlinuz-5.5-x86_64 root=UUID=7796b45d-95df-42dc-8a7f-0ef3c2fbe94d rw quiet apparmor=1 
           security=apparmor udev.log_priority=3 i915.fastboot=1 
           Console: tty 1 wm: kwin_x11 dm: SDDM Distro: Manjaro Linux 
Machine:   Type: Laptop System: Micro-Star product: Prestige 15 A10SC v: REV:1.0 serial: <filter> Chassis: type: 10 
           serial: <filter> 
           Mobo: Micro-Star model: MS-16S3 v: REV:1.0 serial: <filter> UEFI: American Megatrends v: E16S3IMS.108 
           date: 11/18/2019 
Battery:   ID-1: BAT1 charge: 80.0 Wh condition: 80.0/80.3 Wh (100%) volts: 17.3/15.2 model: MSI BIF0_9 type: Li-ion 
           serial: N/A status: Full 
           Device-1: hidpp_battery_0 model: Logitech Wireless Mouse M275/M280 serial: <filter> charge: 55% (should be ignored) 
           rechargeable: yes status: Discharging 
CPU:       Topology: 6-Core model: Intel Core i7-10710U bits: 64 type: MT MCP arch: N/A family: 6 model-id: A6 (166) 
           stepping: N/A microcode: CA L1 cache: 384 KiB L2 cache: 12.0 MiB L3 cache: 12.0 MiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 38415 
           Speed: 400 MHz min/max: 400/1100 MHz Core speeds (MHz): 1: 400 2: 400 3: 400 4: 400 5: 400 6: 400 7: 400 8: 400 
           9: 400 10: 400 11: 400 12: 400 
           Vulnerabilities: Type: itlb_multihit status: KVM: Split huge pages 
           Type: l1tf status: Not affected 
           Type: mds status: Not affected 
           Type: meltdown status: Not affected 
           Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl and seccomp 
           Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization 
           Type: spectre_v2 mitigation: Enhanced IBRS, IBPB: conditional, RSB filling 
           Type: tsx_async_abort status: Not affected 
Graphics:  Device-1: Intel vendor: Micro-Star MSI driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:9bca 
           Device-2: NVIDIA vendor: Micro-Star MSI driver: N/A bus ID: 03:00.0 chip ID: 10de:1f91 
           Display: server: X.Org 1.20.6 driver: modesetting alternate: fbdev,intel,vesa compositor: kwin_x11 
           resolution: 1920x1080~60Hz 
           OpenGL: renderer: Mesa DRI Intel UHD Graphics (Comet Lake 3x8 GT2) v: 4.6 Mesa 19.3.1 compat-v: 3.0 
           direct render: Yes 
Audio:     Device-1: Intel vendor: Micro-Star MSI driver: snd_hda_intel v: kernel bus ID: 00:1f.3 chip ID: 8086:02c8 
           Sound Server: ALSA v: k5.5.0-1-MANJARO 
Network:   Device-1: Intel Wi-Fi 6 AX200 driver: iwlwifi v: kernel port: efa0 bus ID: 02:00.0 chip ID: 8086:2723 
           IF: wlp2s0 state: up mac: <filter> 
           IF-ID-1: br-843aa46a169f state: down mac: <filter> 
           IF-ID-2: docker0 state: down mac: <filter> 
           IF-ID-3: tun0 state: unknown speed: 10 Mbps duplex: full mac: N/A 
Sensors:   System Temperatures: cpu: 44.0 C mobo: N/A 
           Fan Speeds (RPM): N/A 
Info:      Processes: 369 Uptime: 11h 53m Memory: 31.20 GiB used: 2.51 GiB (8.1%) Init: systemd v: 242 Compilers: gcc: 9.2.0 
           Shell: bash (sudo) v: 5.0.11 running in: yakuake inxi: 3.0.37 

Quite limited information out there about this model. Saw just a wifi related topic about it. As previously stated, you will have to fiddle around with the known options for hibrid and see what works best.

I think optimus-manager in intel mode doesn't prevent run nvidia-card.

I make some crutch in two bash files.

First for remove nvidia-card

echo "1" > /sys/bus/pci/devices/0000\:03\:00.0//remove

Next to return nvidia and turn it on:

echo "1" > /sys/bus/pci/rescan

Powertop shows that it really work.
I feel myself like Linus Torvalds. :smile:

How you think, this not damage hardware?

p.s. after rescan may be add
echo 'auto' > '/sys/bus/pci/devices/0000:03:00.0/power/control'
for better power control with nvidia

Okay, I decided switch to nvidia prime offloading.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by