qzed / linux-surfacebook2-mshw0153 Goto Github PK
View Code? Open in Web Editor NEWLinux Driver for Surface Book 2 dGPU Hot-Plug System (Power-State)
License: GNU General Public License v2.0
Linux Driver for Surface Book 2 dGPU Hot-Plug System (Power-State)
License: GNU General Public License v2.0
I'm struggling to get my surface book 2 nvidia card to work on manjaro.
It's pretty much a fresh install of manjaro kde with the latest jakeday patches on qzed's 5.2 kernel.
I followed the instructions here:
https://github.com/qzed/linux-surfacebook2-mshw0153#setting-up-the-dgpu-for-use-with-bumblebee-and-the-official-nvidia-driver-on-arch-linux
I was stuck on the very first step:
Install the nvidia driver (e.g. nvidia-dkms). Note that, if you have a custom kernel, it is important you choose a locally compiled version (as usually indicated by the -dkms suffix).
how do i install the nvidia driver?
I went to the manjaro settings manager where you normally install the nvidia proprietary drivers and it's not even available. only the intel drivers.
so i did "lspci" and there's no nvidia showing anywhere. i type "nvidia-settings" and get:
ERROR: NVIDIA driver is not loaded ERROR: Unable to load info from any available system
So i think i just need some clarification as to how to go about installing the nvidia-dkms as suggested.
EDIT---
I just looked up in my package manager and nvidia is already installed.
sudo mhwd -li -d
NAME: video-hybrid-intel-nvidia-418xx-bumblebee
ATTACHED: PCI
VERSION: 2019.08.24
INFO: Hybrid bumblebee solution for NVIDIA Optimus Technology - Closed source NVIDIA driver & open source intel driver.
PRIORITY: 9
FREEDRIVER: false
DEPENDS: -
CONFLICTS: video-intel video-nvidia-435xx video-nvidia-430xx video-nvidia-418xx video-nvidia-390xx video-nvidia-340xx video-hybrid-intel-nvidia-430xx-bumblebee video-hybrid-intel-nvidia-390xx-bumblebee video-hybrid-intel-nvidia-340xx-bumblebee video-hybrid-intel-nouveau-bumblebee
CLASSIDS: 0300 0302 0300
VENDORIDS: 10de 8086
So i skipped the step and installed bumblebee and now i get an error when i enter systemctl enable bumblebee and it tells me that the unit file can't be found.
I'm on NixOS and I'd like to use sb2_shps but NixOS doesn't support DKMS. I tried repackaging this module as a kernel patch, but I'm no kernel developer, so my method was just pattern matching against the patches in linux-surface. While I did get the kernel to build with my patch, sysfs is still missing dgpu_power. So I'm wondering, are there any plans to get this module merged as a patch into jakeday/linux-surface?
I'm currently trying to write a driver for MSHW0091
, which is central to a lot of functionality provided through the ACPI. A part of this is for the lid state. Now I hear you say "but who cares about the lid state if there's not even battery status?". Implementing the lid state is a lot easier than getting the battery information, and it seems like a good way to figure some things out, design-wise.
Now what does MSHW0153
have to do with the lid state? To determine the lid state, the ACPI lid device queries MSHW0091
for the current base status, i.e. if the base is attached or detached. It seems that those requests have to be handled by the driver of MSHW0091
, thus this driver needs to know the status of the base. MSHW0153
seems provide this information, among other things.
Goal: MSHW0153
provides three GPIO signals with corresponding interrupts related to the base of the device. Most likely, these signals correspond to (as indicated in the corresponding _DSM
function):
I don't know, however, which signal corresponds to which state. I believe that with enough information, especially from device models without a discrete GPU, we can determine this.
make
).sudo insmod sb2_mshw0153.ko
).sudo rmmod sb2_mshw0153.ko
).dmesg | grep mshw0153 > output.log
)If you own a device with a dedicated GPU, I recommend unloading the nouveau
module first (sudo modprobe -r nouveau
), as this may cause some issues when detaching.
Hello,
Thanks for this, I want to be able to enable / disable my nvidia card .. I installed latest jake kernel patch... and then your module via sudo make dkms-install
But when I try to use it I get command not found
tdurand@tdurand-Surface-Book-2:~$ dgpu_power_init
dgpu_power_init: command not found
I'm sure I'm not using it the they I should, maybe you can point me in the right direction
Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.