Dit artikel beschrijft een experimenteel Linux DRM/KMS-stuurprogramma (sm750hdmidrm) voor de SM750G10 SE-DP750A-HDMI videokaart. De driver is specifiek ontwikkeld voor hardware met PCI ID 126f:0750 en biedt ondersteuning voor HDMI, DMA en geavanceerde display-optimalisaties.
Belangrijkste technische kenmerken:
- Prestaties: Om de beperkingen van de PCIe 1.1 x1-verbinding te omzeilen, maakt de driver gebruik van geditherde 16-bit RGB565 scanout, wat het pixelverkeer halveert ten opzichte van 32-bit kleur.
- Ultrawide-ondersteuning: Hoewel de hardware een limiet heeft van 2048 pixels breed, implementeert de driver softwarematige schaling om logische resoluties tot 2560x1080 mogelijk te maken via monitor-stretching.
- Configuratie: Via GRUB-parameters kunnen gebruikers functies zoals DMA, hardwarecursors, verscherping (
sharpen) en de EDID-beperkingen aanpassen.
Installatie en compatibiliteit: De driver is beschikbaar als DKMS-pakket voor Ubuntu 24.04 en Linux Mint 22, en is compatibel met Linux-kernels 6.17 en nieuwer. Het project is gelicenseerd onder GPL-2.0.
Waarschuwing: De auteur benadrukt dat de software experimenteel is en is ontwikkeld via 'vibe coding' (AI-ondersteuning). Het uitschakelen van EDID-beperkingen kan leiden tot instabiliteit of een zwart scherm, waardoor het gebruik op eigen risico is.
SM750 HDMI DRM-stuurprogramma
Het stuurprogramma maakt het mogelijk om een werkelijke output van 2048 pixels breed te genereren, of een softwarematig geschaald ultrawide-bureaublad van 2560x1080, inclusief bandbreedtebesparende kleurconversie en update-optimalisaties voor betere prestaties.
Waarschuwing: Dit stuurprogramma is experimenteel en bedoeld voor één specifieke SM750-kaart. Optionele modi kunnen de gepubliceerde kloklimieten van de GPU of monitor overschrijden, wat kan leiden tot een uitblijvend signaal, vervorming of een onstabiel beeld. Zorg dat SSH of een andere herstelmethode beschikbaar is bij het testen van modi die niet via EDID worden beperkt.
Hardwareondersteuning
Controleer of uw kaart wordt ondersteund. De geteste kaart wordt verkocht of aangeduid als SE-DP750A-HDMI en moet aan alle volgende vereisten voldoen:
- Chipset: Silicon Motion SM750G10-AC, revisie A1
- PCI ID: 126f:0750
- HDMI-transmitter: Silicon Image/Lattice SiI9024ACNU
- Geheugen: 16 MiB displaygeheugen
- Uitgang: Eén HDMI-uitgang
Let op: Alleen de PCI ID is niet voldoende. Andere SM750-kaarten die VGA gebruiken, een andere transmitter hebben of een andere GPIO-bedrading gebruiken, worden momenteel niet ondersteund.
Installatie
Gebruikers van Ubuntu 24.04 en Linux Mint 22 kunnen lokaal een DKMS-pakket bouwen met de volgende stappen:
sudo apt update
sudo apt install build-essential dkms linux-headers-$(uname -r) libdrm-dev git
git clone https://github.com/KodeMunkie/sm750hdmifb.git
cd sm750hdmifb
make check
./build-package.sh
sudo apt install ./dist/sm750hdmifb_0.5.5_all.deb
sudo reboot
Belangrijk: Het herstarten is essentieel. Dit zorgt ervoor dat het pakket de oude Linux sm750fb-driver op de zwarte lijst zet voordat deze aanspraak kan maken op de kaart. Het pakket heet sm750hdmifb en de kernelmodule is sm750hdmidrm.ko, waardoor verwarring met sm750fb.ko wordt voorkomen.
Kernelcompatibiliteit
De driver is bedoeld voor Linux 6.17 en nieuwer. DKMS weigert oudere kernels omdat de vereiste DRM-interfaces niet worden ondersteund. De broncode bevat compatibiliteitspaden voor Linux 6.17 tot en met de 6.x-serie, en voor Linux 7.0 en verder. Momenteel is de driver getest en goedgekeurd op Ubuntu-kernels 6.17 en 7.0.
Er is geen vaste bovenlimiet voor de versie, maar toekomstige kernels kunnen interne DRM-API's wijzigen. Omdat dit een "out-of-tree" driver is, kan een nieuwe kernelversie een update van de broncode vereisen, zelfs binnen het ondersteunde bereik van 6.17+.
Normaal gebruik
Standaard hanteert de driver de volgende instellingen:
- Gebruik van monitor EDID-modi.
- Gebruik van geditherde 16-bit RGB565 scanout.
- Gebruik van een hardwarecursor.
- Updates worden verzameld op een worker.
- Uploads gebeuren in batches van acht rijen via DMA.
- Veilige fallback indien DMA faalt.
Kleurdiepte en Bandbreedte
Applicaties renderen nog steeds in 32-bit kleur. Direct voor de upload converteert de driver gewijzigde schermregio's naar RGB565 en past een door KodeMunkie ontwikkelde "ordered dither" toe met een correctie van 94% voor het groene kanaal.
Dit is de standaardinstelling omdat het SM750-framebuffer wordt bereikt via een PCIe 1.1 x1-verbinding. Bij hogere resoluties kan deze verbinding geen responsieve full-screen 32-bit updates leveren. XRGB8888 verstuurt vier bytes per pixel, terwijl RGB565 er twee verstuurt. Geditherde RGB565 halveert dus het pixelverkeer naar het apparaat, terwijl veel van de kleurdetails behouden blijven.
Moduleparameters (GRUB-opties)
Voeg de volgende opties toe aan de bestaande GRUBCMDLINELINUXDEFAULT waarde in /etc/default/grub. Gebruik het volledige prefix sm750hdmidrm. (bijv. sm750hdmidrm.enabledma=0). Pas dit toe met sudo update-grub en sudo reboot.
| Optie | Standaard | Wanneer gebruiken? | Effect en afweging |
scanout_format=rgb565-bbdither | rgb565-bbdither | Geen actie nodig | Aanbevolen standaard: Geditherde 16-bit scanout met groene correctie. |
scanout_format=xrgb8888 | rgb565-bbdither | Alleen voor 32-bit scanout | Schakelt RGB565, dither en groene correctie uit; verdubbelt verkeer en kan lag veroorzaken bij hoge resoluties. |
scanout_format=rgb565 | rgb565-bbdither | Alleen voor platte RGB565 | Schakelt dither en groene correctie uit, wat de kleurkwaliteit verlaagt. |
dithergreengain=94 | 94 | Geen actie nodig | Schakelt de afgestemde groene correctie in tijdens dithering. |
dithergreengain=100 | 94 | Om groene correctie uit te schakelen | Behoudt dither, maar kan een groenere kleurbalans geven. |
enable_dma=1 | 1 | Geen actie nodig | DMA-uploads van acht rijen met automatische CPU-fallback. |
enable_dma=0 | 1 | Om DMA uit te schakelen | Forceert CPU-uploads, meestal met lagere prestaties. |
disablehardwarecursor=1 | 0 | Voor software-cursor fallback | Schakelt de hardwarecursor uit; kan de responsiviteit verminderen. |
edid_only=0 | 1 | Nodig voor catalogus en ultrawide-modi | GEVAARLIJK: Stopt de EDID-beperking van modi en klokken die de monitor mogelijk niet ondersteunt. |
softscale_wide=1 | 0 | Nodig voor 2464x1080 en 2560x1080 (zet ook edid_only=0) | GEVAARLIJK / EXPERIMENTEEL: Schakelt brede compressie in en vereist monitor-stretching. |
sharpen=1 | 0 | Aanbevolen bij ultrawide-modi | Voegt een vaste 8% contrastverscherping toe na compressie. |
double_shadow=1 | 0 | Aanbevolen om redundante uploads te voorkomen | Gebruikt snapshots voor vergelijking; slaat ongewijzigde pixels over, maar verbruikt meer systeemgeheugen. |
async_updates=1 | 1 | Geen actie nodig | Behoudt alleen de laatste wachtende update in plaats van verouderde frames in de wachtrij te zetten. |
Ultrawide Schaling
De hardware wordt normaal gesproken beschreven als ondersteunend tot 1920 pixels breed. Met edid_only=0 biedt de driver echter ook deze werkelijke 2048-brede hardwaremodi aan:
| Desktop en HDMI-modus | Vernieuwingsfrequenties | Output en risico |
| 2048x864 | 59.94, 60, 70, 72, 75 Hz | Native of monitor-scaled. EXPERIMENTEEL: NIET BEPERKT DOOR EDID |
| 2048x1024 | 59.94, 60, 70, 72 Hz | Native of monitor-scaled. EXPERIMENTEEL: NIET BEPERKT DOOR EDID |
| 2048x1080 | 50, 59.94, 60, 70, 72, 75 Hz | Native of monitor-scaled. EXPERIMENTEEL: HOGE FREQUENTIE KAN SPECIFICATIES OVERSCHRIJDEN |
| 2048x1152 | 59.94, 60 Hz | Native of monitor-scaled. EXPERIMENTEEL: NIET BEPERKT DOOR EDID |
Softwarematige Wide-modi
Met softscale_wide=1 worden twee bredere logische desktops toegevoegd. Beide vereisen een fysieke 2560x1080 ultrawide monitor waarbij de optie FULL WIDESCREEN STRETCH in het monitor-menu is ingeschakeld.
| Logisch bureaublad | Fysieke monitor | Breedte ratio | HDMI en monitor pad |
| 2464x1080 | 2560x1080 | 77:64 | 16.9% compressie → 2048x1080 → 2560x1080 stretch |
| 2560x1080 | 2560x1080 | 5:4 | 20% compressie → 2048x1080 → 2560x1080 stretch |
Details per modus:
- 2464x1080: (50, 59.94, 60, 70, 72, 75 Hz) AANBEVOLEN: Biedt meer detail en betere responsiviteit; schakel
sharpen=1 in.
- 2560x1080: (50, 59.94, 60, 70, 72, 75 Hz) Minder detail en lagere prestaties omdat er meer breedte wordt gecomprimeerd.
Technische beperking
2048 pixels is de maximale werkelijke breedte die deze kaart in hardware kan produceren. Het primaire graphics-plane van de SM750 heeft een 11-bit right-edge field, waardoor de fysieke scanout breedte niet boven de 2048 pixels kan uitkomen. Het verlagen van de hoogte brengt geen extra horizontale bits vrij.
De 2464 en 2560 modi creëren bredere werkruimtes in software, maar de kaart stuurt nog steeds een signaal van 2048 pixels breed uit. Het volledige pad is: logisch bureaublad → driver compressie → 2048x1080 HDMI → monitor stretch naar 2560x1080 fysieke pixels.
Waarom 2464x1080 wordt aanbevolen
Bij 2560x1080 voert de driver een 5:4 reductie uit (20% compressie). De monitor rekt dit vervolgens met 25% op. Hierdoor gaat er horizontaal detail verloren en moet er meer data worden verwerkt.
De modus 2464x1080 start met 3,75% minder pixels en comprimeert de breedte met slechts 16,9% voordat het 2048x1080 signaal wordt verzonden. Hoewel dit resulteert in een beeld dat ongeveer 3,9% breder is dan de logische geometrie, is dit aspect-verschil nauwelijks merkbaar en is het de ruil voor een betere responsiviteit en scherpte.
Aanbevolen configuratieprofiel
Voor het inschakelen van de modus-catalogus en wide scaling:
GEVAAR: DIT PROFIEL SCHAKELT EDID-BEPERKINGEN UIT EN GEBUIKT EXPERIMENTELE KLOKKEN. DIT KAN LEIDEN TOT EEN ZWART SCHERM OF INSTABILITEIT.
sm750hdmidrm.edidonly=0 sm750hdmidrm.softscalewide=1 sm750hdmidrm.sharpen=1 sm750hdmidrm.scanoutformat=rgb565-bbdither sm750hdmidrm.doubleshadow=1 sm750hdmidrm.enable_dma=1
Custom Desktop Dither
De rgb565-bbdither maakt gebruik van een 8x8 "ordered dither", specifiek ontwikkeld en afgestemd door KodeMunkie voor desktopgebruik op deze kaart. Het bevat een aanpasbare groene-kanaalcorrectie en verankert het patroon aan de schermcoördinaten, zodat kleine updates niet zorgen voor een "kruipend" patroon of misvormde vlakken.
Visueel proces van ultrawide conversie
Het proces verloopt in drie stappen:
- Logisch bureaublad: De driver ontvangt het originele 2464x1080 logische bureaublad.
- Gecomprimeerde HDMI scanout: Het beeld wordt horizontaal samengeperst tot 2048x1080 om te voldoen aan de hardwarelimiet van de SM750.
- Fysiek monitorresultaat: De monitor gebruikt de optie FULL WIDESCREEN STRETCH om het 2048-brede signaal uit te rekken over de volledige 2560 fysieke pixels van het paneel.
Probleemoplossing
Controleer de binding en recente driver-berichten met:
lspci -nnk -d 126f:0750
journalctl -k -b | grep -iE 'sm750|sii902'
Als een experimentele modus geen signaal geeft, start dan op met een oudere kernel of verwijder de toegevoegde sm750hdmidrm.* GRUB-opties via de recovery-modus.
Ontwikkelaarsinformatie en Licentie
Licentie
Het project is GPL-2.0-only. Bestanden afgeleid van de DDK zijn afkomstig van de GPL-2.0 staging sm750fb driver van Linux. Er is geen propriëtaire software, firmware-blob of gesloten bibliotheek van Silicon Motion inbegrepen of gekoppeld.
Ontwikkeling
Dit project is gecreëerd via uitgebreide AI-ondersteuning ("vibe coding"). De auteur heeft het gedrag gespecificeerd en fysiek getest en de custom dither ontworpen, maar claimt niet over voldoende expertise in Linux DRM, KMS, DKMS of kernel-frameworks te beschikken om elk implementatiedetail onafhankelijk te garanderen. De broncode is gepubliceerd voor review en verbetering.
Disclaimer
U gebruikt dit experimentele stuurprogramma en elke niet-EDID of boven-specificatie modus geheel op eigen risico. U bent verantwoordelijk voor hersteltoegang, back-ups, modusselectie en hardwarecompatibiliteit. De auteurs en bijdragers zijn niet verantwoordelijk voor verlies van display, data, tijd, hardware, inkomen of enige andere directe of indirecte schade.
De software wordt geleverd zonder garantie. Zie het LICENSE bestand.
SM750 HDMI DRM-stuurprogramma
Het stuurprogramma maakt het mogelijk om een werkelijke output van 2048 pixels breed te genereren, of een softwarematig geschaald ultrawide-bureaublad van 2560x1080, inclusief bandbreedtebesparende kleurconversie en update-optimalisaties voor betere prestaties.
Waarschuwing: Dit stuurprogramma is experimenteel en bedoeld voor één specifieke SM750-kaart. Optionele modi kunnen de gepubliceerde kloklimieten van de GPU of monitor overschrijden, wat kan leiden tot een uitblijvend signaal, vervorming of een onstabiel beeld. Zorg dat SSH of een andere herstelmethode beschikbaar is bij het testen van modi die niet via EDID worden beperkt.
Hardwareondersteuning
Controleer of uw kaart wordt ondersteund. De geteste kaart wordt verkocht of aangeduid als SE-DP750A-HDMI en moet aan alle volgende vereisten voldoen:
- Chipset: Silicon Motion SM750G10-AC, revisie A1
- PCI ID: 126f:0750
- HDMI-transmitter: Silicon Image/Lattice SiI9024ACNU
- Geheugen: 16 MiB displaygeheugen
- Uitgang: Eén HDMI-uitgang
Let op: Alleen de PCI ID is niet voldoende. Andere SM750-kaarten die VGA gebruiken, een andere transmitter hebben of een andere GPIO-bedrading gebruiken, worden momenteel niet ondersteund.
Installatie
Gebruikers van Ubuntu 24.04 en Linux Mint 22 kunnen lokaal een DKMS-pakket bouwen met de volgende stappen:
sudo apt update
sudo apt install build-essential dkms linux-headers-$(uname -r) libdrm-dev git
git clone https://github.com/KodeMunkie/sm750hdmifb.git
cd sm750hdmifb
make check
./build-package.sh
sudo apt install ./dist/sm750hdmifb_0.5.5_all.deb
sudo reboot
Belangrijk: Het herstarten is essentieel. Dit zorgt ervoor dat het pakket de oude Linux sm750fb-driver op de zwarte lijst zet voordat deze aanspraak kan maken op de kaart. Het pakket heet sm750hdmifb en de kernelmodule is sm750hdmidrm.ko, waardoor verwarring met sm750fb.ko wordt voorkomen.
Kernelcompatibiliteit
De driver is bedoeld voor Linux 6.17 en nieuwer. DKMS weigert oudere kernels omdat de vereiste DRM-interfaces niet worden ondersteund. De broncode bevat compatibiliteitspaden voor Linux 6.17 tot en met de 6.x-serie, en voor Linux 7.0 en verder. Momenteel is de driver getest en goedgekeurd op Ubuntu-kernels 6.17 en 7.0.
Er is geen vaste bovenlimiet voor de versie, maar toekomstige kernels kunnen interne DRM-API's wijzigen. Omdat dit een "out-of-tree" driver is, kan een nieuwe kernelversie een update van de broncode vereisen, zelfs binnen het ondersteunde bereik van 6.17+.
Normaal gebruik
Standaard hanteert de driver de volgende instellingen:
- Gebruik van monitor EDID-modi.
- Gebruik van geditherde 16-bit RGB565 scanout.
- Gebruik van een hardwarecursor.
- Updates worden verzameld op een worker.
- Uploads gebeuren in batches van acht rijen via DMA.
- Veilige fallback indien DMA faalt.
Kleurdiepte en Bandbreedte
Applicaties renderen nog steeds in 32-bit kleur. Direct voor de upload converteert de driver gewijzigde schermregio's naar RGB565 en past een door KodeMunkie ontwikkelde "ordered dither" toe met een correctie van 94% voor het groene kanaal.
Dit is de standaardinstelling omdat het SM750-framebuffer wordt bereikt via een PCIe 1.1 x1-verbinding. Bij hogere resoluties kan deze verbinding geen responsieve full-screen 32-bit updates leveren. XRGB8888 verstuurt vier bytes per pixel, terwijl RGB565 er twee verstuurt. Geditherde RGB565 halveert dus het pixelverkeer naar het apparaat, terwijl veel van de kleurdetails behouden blijven.
Moduleparameters (GRUB-opties)
Voeg de volgende opties toe aan de bestaande GRUBCMDLINELINUXDEFAULT waarde in /etc/default/grub. Gebruik het volledige prefix sm750hdmidrm. (bijv. sm750hdmidrm.enabledma=0). Pas dit toe met sudo update-grub en sudo reboot.
| Optie | Standaard | Wanneer gebruiken? | Effect en afweging |
scanout_format=rgb565-bbdither | rgb565-bbdither | Geen actie nodig | Aanbevolen standaard: Geditherde 16-bit scanout met groene correctie. |
scanout_format=xrgb8888 | rgb565-bbdither | Alleen voor 32-bit scanout | Schakelt RGB565, dither en groene correctie uit; verdubbelt verkeer en kan lag veroorzaken bij hoge resoluties. |
scanout_format=rgb565 | rgb565-bbdither | Alleen voor platte RGB565 | Schakelt dither en groene correctie uit, wat de kleurkwaliteit verlaagt. |
dithergreengain=94 | 94 | Geen actie nodig | Schakelt de afgestemde groene correctie in tijdens dithering. |
dithergreengain=100 | 94 | Om groene correctie uit te schakelen | Behoudt dither, maar kan een groenere kleurbalans geven. |
enable_dma=1 | 1 | Geen actie nodig | DMA-uploads van acht rijen met automatische CPU-fallback. |
enable_dma=0 | 1 | Om DMA uit te schakelen | Forceert CPU-uploads, meestal met lagere prestaties. |
disablehardwarecursor=1 | 0 | Voor software-cursor fallback | Schakelt de hardwarecursor uit; kan de responsiviteit verminderen. |
edid_only=0 | 1 | Nodig voor catalogus en ultrawide-modi | GEVAARLIJK: Stopt de EDID-beperking van modi en klokken die de monitor mogelijk niet ondersteunt. |
softscale_wide=1 | 0 | Nodig voor 2464x1080 en 2560x1080 (zet ook edid_only=0) | GEVAARLIJK / EXPERIMENTEEL: Schakelt brede compressie in en vereist monitor-stretching. |
sharpen=1 | 0 | Aanbevolen bij ultrawide-modi | Voegt een vaste 8% contrastverscherping toe na compressie. |
double_shadow=1 | 0 | Aanbevolen om redundante uploads te voorkomen | Gebruikt snapshots voor vergelijking; slaat ongewijzigde pixels over, maar verbruikt meer systeemgeheugen. |
async_updates=1 | 1 | Geen actie nodig | Behoudt alleen de laatste wachtende update in plaats van verouderde frames in de wachtrij te zetten. |
Ultrawide Schaling
De hardware wordt normaal gesproken beschreven als ondersteunend tot 1920 pixels breed. Met edid_only=0 biedt de driver echter ook deze werkelijke 2048-brede hardwaremodi aan:
| Desktop en HDMI-modus | Vernieuwingsfrequenties | Output en risico |
| 2048x864 | 59.94, 60, 70, 72, 75 Hz | Native of monitor-scaled. EXPERIMENTEEL: NIET BEPERKT DOOR EDID |
| 2048x1024 | 59.94, 60, 70, 72 Hz | Native of monitor-scaled. EXPERIMENTEEL: NIET BEPERKT DOOR EDID |
| 2048x1080 | 50, 59.94, 60, 70, 72, 75 Hz | Native of monitor-scaled. EXPERIMENTEEL: HOGE FREQUENTIE KAN SPECIFICATIES OVERSCHRIJDEN |
| 2048x1152 | 59.94, 60 Hz | Native of monitor-scaled. EXPERIMENTEEL: NIET BEPERKT DOOR EDID |
Softwarematige Wide-modi
Met softscale_wide=1 worden twee bredere logische desktops toegevoegd. Beide vereisen een fysieke 2560x1080 ultrawide monitor waarbij de optie FULL WIDESCREEN STRETCH in het monitor-menu is ingeschakeld.
| Logisch bureaublad | Fysieke monitor | Breedte ratio | HDMI en monitor pad |
| 2464x1080 | 2560x1080 | 77:64 | 16.9% compressie → 2048x1080 → 2560x1080 stretch |
| 2560x1080 | 2560x1080 | 5:4 | 20% compressie → 2048x1080 → 2560x1080 stretch |
Details per modus:
- 2464x1080: (50, 59.94, 60, 70, 72, 75 Hz) AANBEVOLEN: Biedt meer detail en betere responsiviteit; schakel
sharpen=1 in.
- 2560x1080: (50, 59.94, 60, 70, 72, 75 Hz) Minder detail en lagere prestaties omdat er meer breedte wordt gecomprimeerd.
Technische beperking
2048 pixels is de maximale werkelijke breedte die deze kaart in hardware kan produceren. Het primaire graphics-plane van de SM750 heeft een 11-bit right-edge field, waardoor de fysieke scanout breedte niet boven de 2048 pixels kan uitkomen. Het verlagen van de hoogte brengt geen extra horizontale bits vrij.
De 2464 en 2560 modi creëren bredere werkruimtes in software, maar de kaart stuurt nog steeds een signaal van 2048 pixels breed uit. Het volledige pad is: logisch bureaublad → driver compressie → 2048x1080 HDMI → monitor stretch naar 2560x1080 fysieke pixels.
Waarom 2464x1080 wordt aanbevolen
Bij 2560x1080 voert de driver een 5:4 reductie uit (20% compressie). De monitor rekt dit vervolgens met 25% op. Hierdoor gaat er horizontaal detail verloren en moet er meer data worden verwerkt.
De modus 2464x1080 start met 3,75% minder pixels en comprimeert de breedte met slechts 16,9% voordat het 2048x1080 signaal wordt verzonden. Hoewel dit resulteert in een beeld dat ongeveer 3,9% breder is dan de logische geometrie, is dit aspect-verschil nauwelijks merkbaar en is het de ruil voor een betere responsiviteit en scherpte.
Aanbevolen configuratieprofiel
Voor het inschakelen van de modus-catalogus en wide scaling:
GEVAAR: DIT PROFIEL SCHAKELT EDID-BEPERKINGEN UIT EN GEBUIKT EXPERIMENTELE KLOKKEN. DIT KAN LEIDEN TOT EEN ZWART SCHERM OF INSTABILITEIT.
sm750hdmidrm.edidonly=0 sm750hdmidrm.softscalewide=1 sm750hdmidrm.sharpen=1 sm750hdmidrm.scanoutformat=rgb565-bbdither sm750hdmidrm.doubleshadow=1 sm750hdmidrm.enable_dma=1
Custom Desktop Dither
De rgb565-bbdither maakt gebruik van een 8x8 "ordered dither", specifiek ontwikkeld en afgestemd door KodeMunkie voor desktopgebruik op deze kaart. Het bevat een aanpasbare groene-kanaalcorrectie en verankert het patroon aan de schermcoördinaten, zodat kleine updates niet zorgen voor een "kruipend" patroon of misvormde vlakken.
Visueel proces van ultrawide conversie
Het proces verloopt in drie stappen:
- Logisch bureaublad: De driver ontvangt het originele 2464x1080 logische bureaublad.
- Gecomprimeerde HDMI scanout: Het beeld wordt horizontaal samengeperst tot 2048x1080 om te voldoen aan de hardwarelimiet van de SM750.
- Fysiek monitorresultaat: De monitor gebruikt de optie FULL WIDESCREEN STRETCH om het 2048-brede signaal uit te rekken over de volledige 2560 fysieke pixels van het paneel.
Probleemoplossing
Controleer de binding en recente driver-berichten met:
lspci -nnk -d 126f:0750
journalctl -k -b | grep -iE 'sm750|sii902'
Als een experimentele modus geen signaal geeft, start dan op met een oudere kernel of verwijder de toegevoegde sm750hdmidrm.* GRUB-opties via de recovery-modus.
Ontwikkelaarsinformatie en Licentie
Licentie
Het project is GPL-2.0-only. Bestanden afgeleid van de DDK zijn afkomstig van de GPL-2.0 staging sm750fb driver van Linux. Er is geen propriëtaire software, firmware-blob of gesloten bibliotheek van Silicon Motion inbegrepen of gekoppeld.
Ontwikkeling
Dit project is gecreëerd via uitgebreide AI-ondersteuning ("vibe coding"). De auteur heeft het gedrag gespecificeerd en fysiek getest en de custom dither ontworpen, maar claimt niet over voldoende expertise in Linux DRM, KMS, DKMS of kernel-frameworks te beschikken om elk implementatiedetail onafhankelijk te garanderen. De broncode is gepubliceerd voor review en verbetering.
Disclaimer
U gebruikt dit experimentele stuurprogramma en elke niet-EDID of boven-specificatie modus geheel op eigen risico. U bent verantwoordelijk voor hersteltoegang, back-ups, modusselectie en hardwarecompatibiliteit. De auteurs en bijdragers zijn niet verantwoordelijk voor verlies van display, data, tijd, hardware, inkomen of enige andere directe of indirecte schade.
De software wordt geleverd zonder garantie. Zie het LICENSE bestand.