linux:rbs

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
linux:rbs [2018/10/09 00:14] mhlinux:rbs [2022/01/07 09:37] (current) – [Razer Core X eGPU] mh
Line 5: Line 5:
 [[https://github.com/rolandguelle/razer-blade-stealth-linux|Roland Guelle GitHub]] [[https://github.com/rolandguelle/razer-blade-stealth-linux|Roland Guelle GitHub]]
  
-==== First Installation ====+In this page I listed all the fixes and workarounds I had to implement to get a working version of Linux Mint 19.1 on my RBS. It was not very difficult and not a frustrating experience at all. 
 + 
 +I have not encountered all the bugs listed in Roland Guelle's GitHub so I have not yet applied all the fixes he proposes. Some of them were of assistance though. 
 + 
 +My Stealth Model is a ''RZ09-0239'' 
 + 
 +===== First Installation =====
  
 Following Roland Guelle's instructions, the first things I did before attempting to install Linux in dual boot were : Following Roland Guelle's instructions, the first things I did before attempting to install Linux in dual boot were :
Line 18: Line 24:
   *The dual boot did not break Windows boot and Grub was installed correctly.   *The dual boot did not break Windows boot and Grub was installed correctly.
  
-==== First run ====+===== First run =====
  
   *Setup timeshift to make system snapshots daily, weekly, monthly and at boot   *Setup timeshift to make system snapshots daily, weekly, monthly and at boot
Line 24: Line 30:
   *Update the system   *Update the system
  
-**Key rule in systems : if it works, don'touch it**+**Key rule in systems : if it works, don'break it** 
  
-  *I have not encountered all the bugs listed in Roland Guelle's GitHub so I have not yet applied all the fixes he proposes. Some of them were of assistance though. 
-  *My Stealth Model is a RZ09-0239 
  
-==== Bug Fixes ====+===== Bug Fixes =====
  
-=== Closing lid doesn't suspend ===+==== Closing lid doesn't suspend ====
  
 Apparently this issue was encountered on some laptops running different versions of Ubuntu from 16.04 upwards. Apparently this issue was encountered on some laptops running different versions of Ubuntu from 16.04 upwards.
Line 61: Line 66:
 [[https://patchwork.kernel.org/patch/9512307/|More info on button.lid_init_state]] [[https://patchwork.kernel.org/patch/9512307/|More info on button.lid_init_state]]
  
-=== Screen Flickering ===+==== Screen Flickering ====
  
 The screen flickering issue causes the screen to flicker to black for an instant. You can check this by running : The screen flickering issue causes the screen to flicker to black for an instant. You can check this by running :
Line 101: Line 106:
 </code> </code>
  
 +==== Screen Flickering on external monitor ====
  
-==== Tweaks ====+Screen seems to randomly go black on external monitor.
  
-=== Multitouch gestures ===+[[https://github.com/rolandguelle/razer-blade-stealth-linux/issues/18|GitHub thread on the subject]] 
 + 
 +Setting the sound output to "HDMI / DisplayPort - Built in Audio" seems to fix the issue. 
 + 
 +Another workaround if the previous option is not available could be to plug an audio output to the 3.5 jack -> This needs to be validated by experience (23/06/19) 
 + 
 +=== RBS set up for smooth mplayer experience === 
 + 
 +  *Remove media OSD in Cinammon > System Settings > Notifications 
 +  *Switch Background to full black 
 +  *//Careful, switching workspaces causes little stutters on the external monitor// 
 +  *Some unidentified manipulations can cause the terminal running mplayer to have a CTRL-lock even with the CTRL unpressed. This locks you out of mplayer -> Investigate  
 + 
 + 
 +===== Tweaks ===== 
 + 
 +==== Multitouch gestures ====
  
 This requires to be using libinput instead of synaptics. You can check this by running these commands using the proper device ID. This requires to be using libinput instead of synaptics. You can check this by running these commands using the proper device ID.
Line 137: Line 159:
 More ressources on [[https://github.com/bulletmark/libinput-gestures|libinput-gestures github]] More ressources on [[https://github.com/bulletmark/libinput-gestures|libinput-gestures github]]
  
-=== OpenRazer Daemon & Polychromatic Controller ===+==== OpenRazer Daemon & Polychromatic Controller ====
  
 Install the OpenRazer Daemon : Install the OpenRazer Daemon :
Line 163: Line 185:
 [[https://github.com/polychromatic/polychromatic|Polychromatic Controller GitHub]] [[https://github.com/polychromatic/polychromatic|Polychromatic Controller GitHub]]
  
-=== Horizontal Scrolling ===+==== Horizontal Scrolling ====
  
 Horizontal scrolling is deactivated on the touchpad by default. You can check this by running Horizontal scrolling is deactivated on the touchpad by default. You can check this by running
Line 220: Line 242:
  
 There might be a way to edit the config file located at /usr/share/X11/xorg.conf.d/40-libinput.conf and adding something but I haven't been able to make it work that way yet. There might be a way to edit the config file located at /usr/share/X11/xorg.conf.d/40-libinput.conf and adding something but I haven't been able to make it work that way yet.
 +
 +===== Razer Core X eGPU =====
 +
 +=== Introduction ===
 +
 +When it came to selecting an eGPU to use under Linux the Razer Core X seemed to be a great value for the money in fall 2021. 
 +
 +I chose the Core X over the Core X Chroma because the price difference was huge (220€ vs 365€) with the only benefit of an added 4 USB 3.0 ports, a 1Gbps Ethernet port and of course some LED lighting. Although having those ports directly on the thunderbolt bus would be great and works well in Windows and MacOS, people have reported issues in Linux (as of 2020) due to a few bugs in the integration of the USB controller used in the Core X Chroma.
 +
 +Although the Thunderbolt implementation reserves a 10Gb/s bandwith specifically for other devices than PCIe (i.e. network, USB, etc.) and the problem above might one day be solved by new patches in the Linux Kernel, there are plenty of USB 3.0 adapters/hubs that also include Gigabit Ethernet for a lot less than 150€, and the Razer Blade Stealth has 2 USB 3.0 ports available.
 +
 +=== Installing and Initializing ===
 +
 +<code bash>
 +$sudo apt install bolt thunderbolt-tools
 +</code>
 +<code bash>
 +$boltctl 
 +</code>
 +//This is the same as 'boltctl list' and should list the Razer Core X//
 +<code bash>
 +$boltctl authorize xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx 
 +</code>
 +//Replace the last argument by the UUID of your device. Do this step only if the status is 'connected' and not 'authorized' when using 'boltctl' at previous step//
 +<code bash>
 +$lspci
 +</code>
 +//The eGPU should appear in a line starting with 'VGA compatible controller [...]//
 +
 +Install appropriate drivers for the eGPU you are tunneling through Thunderbolt.
 +
 +=== Configuring X11 ===
 +
 +You need to write an ''xorg.conf'' file to force X11 to use the eGPU. Create/Edit ''/etc/X11/xorg.conf'' and add the followin lines :
 +
 +<code bash>
 +Section "Module"
 +    Load "modesetting"
 +EndSection
 +
 +Section "Device"
 +    Identifier "Device0"
 +    Driver     "nvidia"
 +    BusID      "PCI:7:0:0" //Switch this to your BusID as revealed by using 'lspci' command
 +    Option     "AllowEmptyInitialConfiguration"
 +    Option     "AllowExternalGpus" "True"
 +EndSection
 +</code>
 +
 +One of the drawbacks of eGPU usage in Linux is the lack of hotplug functionnality. The above ''xorg.conf'' file must be removed or commented out after unplugging the eGPU so as to have X11 not rely on it anymore.
 +
 +=== GSwitch Project ===
 +
 +Which brings us to this simple tool developped to simplify the loading/unloading process : [[https://github.com/karli-sjoberg/gswitch|GSwitch Git Hub]]
 +
 +Simply follow the instructions to install and setup (very easy and straightforward) and it will swap from external to internal gpu using the following commands :
 +
 +<code bash>
 +$sudo gswitch egpu
 +$sudo gswitch internal
 +</code>
 +
 +Note that the thunderbolt device has to be in ''authorized'' status for this to work, and this has to be done manually at every connection (unless you automate it).
 +
 +
 +=== Useful Ressources ===
 +
 +[[https://egpu.io/forums/thunderbolt-linux-setup/ubuntu-19-04-easy-to-use-setup-script-for-your-egpu/|eGPU.io Forum]]
 +
 +[[https://egpu.io/forums/thunderbolt-linux-setup/a-script-to-change-xorg-config/|Another eGPU.io Forum]]
 +
 +[[https://github.com/claudio-walser/egpu-setup|Claudio Walser eGPU Setup Git Hub]]
 +
 +[[https://y.tsutsumi.io/2020/08/15/egpu-linux-core-x-chroma/|Blog Post of Core X Chroma integration in Linux]]
 +
 +[[https://www.blog.nodrama.io/razer-core-egpu-linux/|Antoher (more complete) Blog Post of Core X integration]]
 +
 +[[https://www.kernel.org/doc/html/latest/admin-guide/thunderbolt.html|Linux Kernel page over thunderbolt]]
 +
 +[[https://github.com/karli-sjoberg/gswitch|GSwitch Git Hub]]
 +
 +[[http://pocketnix.org/posts/eGPUs%20under%20Linux%3A%20an%20advanced%20guide|A 2017 dated advanced eGPU guide in Linux. Useful for in-depth tech info]]
  • linux/rbs.1539036872.txt.gz
  • Last modified: 2020/06/01 16:35
  • (external edit)